Fog computing is a system level architecture that extends the computing, networking and storage capabilities of cloud to the edge of Internet of things (IoT) networks. Fog Computing is a highly virtualized platform that provides compute, storage, and networking services between end devices and traditional Cloud Computing Data Centers, typically but not exclusively, located at the edge of network. A Fog node is a physical network device that implements the Fog network. A Fog node may be connected by a network facility to an IoT device and/or a gateway to the cloud. Many IoT networks run mission critical and even life critical applications.